Vue-Element-Admin
基于VUE2.0 还有ElelmentUI 2.0(一套基于 Vue 2.0 的桌面端组件库)。Element UI 是一套采用 Vue 2.0 作为基础框架实现的组件库,它面向企业级的后台应用,能够帮助你快速地搭建网站,研发的人力与时间成本会小很多。ui多样化,丰富的组件以及良好的兼容性。

相关技术插件(技术栈主要采用vue+element+axios由webpack2打包)
- vuejs2.0:渐进式JavaScript框架,易用、灵活、高效,似乎任何规模的应用都适用。
- element:基于vuejs2.0的ui组件库。
- vue-router:一般单页面应用spa都要用到的前端路由。
- axios: 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js
- echarts
- file-saver
- js-cookie
- nprogress
- vue-multiselect
- vuex
- clipboard
- codemirror
特性
- 基于 npm + webpack + babel 开发
- 全面、灵活且强大的ui组件,API友好
- 样式基于element UI组件框架,组件丰富,布局简单、响应式
- 可定制化
| 登陆注销 | ✔︎ | icons组件 | ✔︎ |
|---|---|---|---|
| 权限验证 | ✔︎ | sticky | ✔︎ |
| 侧边栏 | ✔︎ | excel上传 | ✔︎ |
| 面包屑 | ✔︎ | 时间日期选择器 | ✔︎ |
| 富文本编辑器 | ✔︎ | 表格组件 | ✔︎ |
| Markdown编辑器 | ✔︎ | 动态表格组件 | ✔︎ |
| Json编辑器 | ✔︎ | 单选多选组件 | ✔︎ |
| 列表拖拽 | ✔︎ | 弹窗组件 | ✔︎ |
| CountTo | ✔︎ | 分页组件 | ✔︎ |
| echarts图表 | ✔︎ | 对话框组件 | ✔︎ |
| 导出excel文件 | ✔︎ | 开关滑块组件 | ✔︎ |
| 动态侧边栏 | ✔︎ | 自定义主题 | ✔︎ |
| 前端可视化Excel | ✔︎ | 下拉菜单组件 | ✔︎ |
| tab | ✔︎ | 步骤条组件 | ✔︎ |
版本
- 2.2.0
兼容性
- 基于Vuejs2.x
- 现代浏览器及IE10+
关于ElementUI的四个设计原则
一致性 Consistency
- 与现实生活一致: 与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;
- 在界面中一致: 所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。
反馈 Feedback
- 控制反馈: 通过界面样式和交互动效让用户可以清晰的感知自己的操作;
- 页面反馈: 操作后,通过页面元素的变化清晰地展现当前状态。
效率 Efficiency
- 简化流程: 设计简洁直观的操作流程;
- 清晰明确: 语言表达清晰且表意明确,让用户快速理解进而作出决策;
- 帮助用户识别: 界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。
可控 Controllability
- 用户决策: 根据场景可给予用户操作建议或安全提示,但不能代替用户进行决策;
- 结果可控: 用户可以自由的进行操作,包括撤销、回退和终止当前操作等。
关于ElementUI的优势
- 持续迭代 : Element发版至今release了四十多个版本,之前平均都是一周一个小版本更新。
有大厂背景 : 是饿了么团队为其前端团队开发的一组前端组件,虽然核心开发只有三个人,但至少不用担心哪天就不维护
生态圈优异,社区活跃 :其 contributors已经有160多人,社区里也有很多基于Element 的拓展组件,也有很多相关的qq讨论群。
社区的认可:目前Element已经是vue相关最多star的开源项目了,体现出了社区对其的认可。
关于Axios的特点
- 从浏览器中创建XMLHttpRequests
- 从 node.js 创建http请求
- 支持PromiseAPI
- 拦截请求和响应
- 转换请求数据和响应数据
- 取消请求
- 自动转换 JSON 数据
- 客户端支持防御XSRF
关于Axios的对浏览器的支持情况
Axios的安装和使用
安装
qinweideMBP:vue-element qinwei$ npm install axios --save
使用
axios.request(config)
axios.get(url[, config])
axios.delete(url[, config])
axios.head(url[, config])
axios.post(url[, data[, config]])
axios.put(url[, data[, config]])
axios.patch(url[, data[, config]])
get请求
axios.get('/user', {
params: {
ID: 12345
}
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
post请求
axios.post('/user', {
firstName: 'Fred',
lastName: 'Flintstone'
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});






